from main import celery_app


@celery_app.task(bind=True)
def send_sms(self, mobile, sms_code, time_expire, template_id):
    from libs.yuntongxun.sms import CCP
    # 6. 发送短信
    # import time
    # print('延时5秒')
    # time.sleep(5)
    # print('延时5秒,结束')

    try:
        ccp = CCP()
        # 注意： 测试的短信模板编号为1
        # 【云通讯】您使用的是云通讯短信模板，您的验证码是{1}，请于{2}分钟内正确输入
        # {1}: 666999 {2}:5
        # 正确发送, 返回0 ,  发送失败 返回 -1
        res = ccp.send_template_sms(mobile, [sms_code, time_expire], template_id)
    except Exception as e:
        res = -1
    # 使用 @app.task(bind=True)  参数时, 任务第一个参数必须是self,  这个self指的是任务本身

    if res == -1:
        self.retry(countdown=5, max_retries=3, exc=Exception('短信发送3次,仍然失败!'))
